﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>DI_VTEXT</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../styles/styles.css">
<script language="javascript" src='../../links.js' type="text/javascript"></script>
</head>
<body>

<h1>DI_VTEXT</h1>
<div class=navbar>
<a href="../../index.html">главная</a> |
<a href="index.html">элементы диалога</a> |
<a href="../index.html">Dialog API</a>
</div>

<div class=shortdescr>
Элемент диалога <code>DI_VTEXT</code> описывает статическую вертикальную текстовую строку.
</div>

<pre class=syntax>
struct FarDialogItem
{
  enum FARDIALOGITEMTYPES Type = <b>DI_VTEXT</b>
  intptr_t X1                  = <b>X</b>
  intptr_t Y1                  = <b>Y1</b>
  intptr_t X2                  = <b>X</b> (равен значению X1)
  intptr_t Y2                  = <b>Y2</b>
  const wchar_t *Mask          = <b>Mask</b>
  FARDIALOGITEMFLAGS Flags     = <b>Flags</b>
  const wchar_t *Data          = <b>выводимый текст</b>
};
</pre>

<p class=note><img src="../../../images/note.gif" alt="Внимание!" width="10" height="10"> Внимание!</p>
<UL class=note><LI>Приведено схематичное изображение структуры; полное описание структуры <a href="../../structures/fardialogitem.html">см. здесь</a>.</LI></UL>

<h3>Mask</h3>
  <div class=descr>Поле используется только с флагом <a href="../flags/dif_separatoruser.html">DIF_SEPARATORUSER</a>, может быть <code>NULL</code>, или
указывать на строку, содержащую набор из трех символов, описывающих формируемую разделительную линию.</div>

<h3>Флаги</h3>
<div class=descr>
Для элемента <code>DI_VTEXT</code> имеют значения следующие флаги:
<table class="cont">
<tr class="cont"><th class="cont" width="40%">Флаг</th><th class="cont" width="60%">Описание</th></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../flags/dif_boxcolor.html">DIF_BOXCOLOR</a></td>
<td class="cont" width="60%">текст будет иметь цвет рамок (<a href="../../defs/farcolors.html#COL_DIALOGBOX">COL_DIALOGBOX</a> или <a href="../../defs/farcolors.html#COL_WARNDIALOGBOX">COL_WARNDIALOGBOX</a>)</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../flags/dif_centergroup.html">DIF_CENTERGROUP</a></td>
<td class="cont" width="60%">центрирование двух текстовых строк с одинаковой горизонтальной позицией (параметр <code>Y1</code> игнорируется)</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../flags/dif_separator.html">DIF_SEPARATOR</a></td>
<td class="cont" width="60%">вертикальный разделитель диалога (одинарная линия); координата <code>Y1</code> не используется для случая, когда <code>Data</code> пустая строка;<br>
если <code>Data</code> не пустая строка, то она также будет отрисована (для вывода строки будет использована координата <code>Y1</code>);</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../flags/dif_separator2.html">DIF_SEPARATOR2</a></td>
<td class="cont" width="60%">вертикальный разделитель диалога (двойная линия); координата <code>Y1</code> не используется для случая, когда <code>Data</code> пустая строка;<br>
если <code>Data</code> не пустая строка, то она также будет отрисована (для вывода строки будет использована координата <code>Y1</code>);</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../flags/dif_separatoruser.html">DIF_SEPARATORUSER</a></td>
<td class="cont" width="60%">вертикальный разделитель диалога (формат линии указан в <code>Mask</code>); должны быть указаны обе координаты <code>Y1</code> и <code>Y2</code></td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../flags/dif_showampersand.html">DIF_SHOWAMPERSAND</a></td>
<td class="cont" width="60%">показывать в текстовой строке амперсанд не используя его для определения горячей клавиши</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../flags/dif_centertext.html">DIF_CENTERTEXT</a></td>
<td class="cont" width="60%">выравнивать текст по центру (учитываются координаты <code>Y1</code> и <code>Y2</code>)</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../flags/dif_righttext.html">DIF_RIGHTTEXT</a></td>
<td class="cont" width="60%">выравнивать текст по нижнему краю относительно координат <code>Y1</code> и <code>Y2</code></td></tr>
</table>
</div>

<h3>События</h3>
<div class=descr>
<table class="cont">
<tr class="cont"><th class="cont" width="40%">Событие</th><th class="cont" width="60%">Описание</th></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../dmsg/dn_drawdlgitem.html">DN_DRAWDLGITEM</a></td>
<td class="cont" width="60%">начало отрисовки текстовой строки</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../dmsg/dn_ctlcolordlgitem.html">DN_CTLCOLORDLGITEM</a></td>
<td class="cont" width="60%">запрос цветовых атрибутов для отрисовки; <code>Param2</code>:
<pre>
<code>Colors[0]</code> - текст
                (<a href="../../defs/farcolors.html#COL_WARNDIALOGTEXT">COL_WARNDIALOGTEXT</a> или <a href="../../defs/farcolors.html#COL_DIALOGTEXT">COL_DIALOGTEXT</a>
             при выставленном флаге <a href="../flags/dif_boxcolor.html">DIF_BOXCOLOR</a>:
                 <a href="../../defs/farcolors.html#COL_WARNDIALOGBOX">COL_WARNDIALOGBOX</a> или <a href="../../defs/farcolors.html#COL_DIALOGBOX">COL_DIALOGBOX</a>)
<code>Colors[1]</code> - выделенный текст (highlighting text)
                (<a href="../../defs/farcolors.html#COL_WARNDIALOGHIGHLIGHTTEXT">COL_WARNDIALOGHIGHLIGHTTEXT</a> или <a href="../../defs/farcolors.html#COL_DIALOGHIGHLIGHTTEXT">COL_DIALOGHIGHLIGHTTEXT</a>)
<code>Colors[2]</code> - 0 (не используется)
<code>Colors[3]</code> - 0 (не используется)</pre>
</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../dmsg/dn_controlinput.html">DN_CONTROLINPUT</a></td>
<td class="cont" width="60%">"кликнули" клавишей мыши</td></tr>
</table>
</div>

<h3>Замечания</h3>
<div class=descr>
<li>Хотя координата <code>X2</code> в Dialog API не используется, но для нормальной работы в будущих версиях Far Manager желательно корректно заполнить
значение этого поля. Укажите то же значение координаты, что и <code>X1</code>.
<li>Если указан флаг <a href="../flags/dif_separatoruser.html">DIF_SEPARATORUSER</a>, то координаты <code>Y1</code> и <code>Y2</code> должны быть обязательно указаны, в противном случае
действие флага не будет иметь действия.
<li>Если указан флаг <a href="../flags/dif_separatoruser.html">DIF_SEPARATORUSER</a>, то в поле <code>Mask</code> Far Manager ожидает 3 символа
"Верх-Середина-Низ". Недостающие (до 3-х) символы для такой разделительной лини будут содержать пробелы.
<li>Если указан флаг <a href="../flags/dif_centertext.html">DIF_CENTERTEXT</a>, то координата <code>Y2</code> должна быть обязательно указана, в противном случае
действие флага не будет иметь действия.
<li>Если не указан флаг <a href="../flags/dif_centertext.html">DIF_CENTERTEXT</a>, то Far Manager самостоятельно перерасчитает координаты <code>X2</code> и <code>Y2</code>, исходя
из размера строки и размера диалога.
<li>Если в тексте элемента <code>DI_TEXT</code> имеется "горячая клавиша" (HotKey) и не выставлен флаг <a href="../flags/dif_showampersand.html">DIF_SHOWAMPERSAND</a>,
то при нажатии в диалоге <kbd>Alt</kbd>+<kbd>Символ</kbd> клавиатурный фокус ввода перейдёт на следующий элемент, который может иметь <a href="../../other/dict.html#keybfocus">фокус ввода</a>
</div>

<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="di_text.html">DI_TEXT</a>,
<a href="../../structures/fardialogitem.html">FarDialogItem</a>
</div>

</body>
</html>